This invention relates generally to content addressable memories and, more particularly, to content addressable memories for matching data between limits.
In electronic warfare systems, characterizing an unknown radio frequency (R.F.) emitter (typically a radar) is necessary for determining what countermeasure are to be applied to reduce that R.F. emitter's effectiveness since one countermeasure is more effective than another. Therefore, to determine what type of countermeasure is to be used, the unknown R.F. emitter is classified or binned by the "signature" of the signal received therefrom. Typical characteristics of this "signature" are frequency, angle of arrival, time of arrival, pulse amplitude and pulse width. The characteristics of an unknown R.F. emitter are determined by a parameter measuring unit, the Datameter measuring unit being responsive to a plurality of receivers of the radiation from the unknown R.F. emitter. When the received signal characteristics match the characteristics of a known R.F. emitter, the R.F. emitter is thereby binned and the appropriate countermeasure is applied. The matching of characteristics is typically done by a digital computer. The characteristics of the "signature" of any R.F. emitter may have a range of values, e.g., the R.F. emitter operates over a band of frequencies; the pulse amplitude may vary over a large range, etc. The range of values for the characteristics of a known R.F. emitter is called a window, in which the characteristics of an unknown R.F. emitter must fall to be classified as being of the same type as the known R.F. emitter. The range of values for each characteristic is defined by a pair of limits, the pair of limits is called a bracket. Each window is composed of brackets, each bracket corresponding to a characteristic of the known R.F. emitter. Therefore, the digital computer binning an R.F. emitter's "signature" must compare the characteristics of that "signature" with the range of values for the characteristics associated with each type of known R.F. emitter. If there are many known types of R.F. emitters and many different characteristics of the "signature" of each, much time is used by the computer in matching the unknown R.F. emitter to a known R.F. emitter and the effectiveness of a given countermeasure is reduced because of the length of time after receiving a signal from an unknown R.F. emitter to the use of an appropriate countermeasure. One way to reduce the delay in application of an appropriate countermeasure is the use of simultaneous, or parallel, comparisons of the characteristics of the received "signature" with limits associated with each characteristic (bracket) of a known R.F. emitter (window). Such comparisons are done in parallel for each characteristic of an unknown R.F. emitter and for each type of known R.F. emitter, e.g., if there are N known R.F. emitter types (windows) and M brackets for each window, NXM simultaneous comparisons must be made. To achieve this parallelism, the characteristics for each R.F. emitter compose a large binary word and the computer acts on that word as a whole. However, the number of characteristics needed to classify a given R.F. emitter may require a word width which is neither practical nor necessary for all types of R.F. emitters. For example, one emitter could be classified by its frequency and pulse amplitude only, but another type of emitter needs to be classified by frequency, pulse amplitude, pulse width and angle of arrival. Should the word width be a size sufficient for frequency and pulse rate characteristics only, then a time consuming and inefficient second comparison is necessary for the pulse width and angle of arrival characteristics.
A device that does parallel processing of data is known as a content addressable memory (CAM). A CAM determines which stored data words exactly match an input word. However, no comparisons between limits is implemented. A similar type of memory, a window addressable memory (WAM) Performs comparisons between fixed width subfields of an input word and the brackets for each window stored in the WAM, each subfield corresponding to a characteristic of a known R.F. emitter. A window match occurs when all of the subfields of the input word (unknown R.F. emitter's "signature") are within all of the corresponding brackets for a window (a known R.F. emitter). However, the number of bits in each subfield cannot be changed for processing different kinds of data. Additionally, since a window match occurs with all brackets of a window matching the corresponding subfields, no provision is provided for disabling selected ones of the bracket matches for a window match nor allowing a window match if selected ones of the brackets do not match the corresponding subfields.